/**
 * 题目描述
 * 
 * 请说出下列代码最终的执行结果，并解释原因
 * 
 */

var a = []
for (var i = 0; i < 10; i++) {
    a[i] = function () {
        console.log(i)
    }
}

a[6]() // 10

// 原因: for循环中i变量是用var关键字声明的，此时i是存在于全局作用域中的，
//       当执行a[6]()时，for循环已经结束，所以此时i的值是10，所以打印10